package org.example.medical.Mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.medical.entity.SurgeryRecord;

import java.util.List;

@Mapper
public interface SurgeryRecordMapper {
    // 查询手术记录分页数据（按患者姓名和医生姓名）
    List<SurgeryRecord> selectByPageAndFilters(
            @Param("patientName") String patientName,
            @Param("doctorName") String doctorName,
            @Param("status") String status,
            @Param("scheduledDate") String scheduledDate,
            @Param("offset") int offset,
            @Param("size") int size
    );

    // 新增手术记录
    void insertSurgeryRecord(SurgeryRecord surgeryRecord);

    // 更新手术记录
    void updateSurgeryRecord(SurgeryRecord surgeryRecord);

    // 软删除手术记录
    void softDeleteSurgeryRecord(@Param("surgeryId") Long surgeryId);

    // 批量软删除手术记录
    void batchSoftDeleteSurgeryRecords(@Param("surgeryIds") List<Long> surgeryIds);
    List<Long> getSurgeryIdsByPatientId(int patientId);
    List<Long> getSurgeryIdsByUserId(int userId);
}